特定のフィールドのデータのみ取得する

class TestController < ApplicationController
  def index
    @test = Person.pluck(:name, :age)
  end
end
<table>
  <thead>
    <th>名前</th>
    <th>年齢</th>
  </thead>

  <tr>
    <% @test.each do |name, age| %>
      <td><%= name %></td>
      <td><%= age %></td>
    <% end %>
  </tr>
</table>
上の例は、Personモデルのname、ageフィールドのデータのみを取得しています。

特定のフィールドのデータのみを取得するには、
モデル.pluck(フィールド)

の形式で記入してください。
フィールドは,区切りで複数指定することもできます。

フィルタリングなどをしたデータの特定のフィールドを取得したいときは
モデル.where(条件).pluck(フィールド)

のように記入してください。
where以外のメソッドの後に使用することもできます。

また、上の例では、name、ageの2つのフィールドのデータを取得しているため、
<% @test.each do |name, age| %>

としてそれぞれ変数に代入しています。